#pragma once
#include "Kinematics.h"
// #include <boost\thread.hpp>

extern "C" {
    #include "extApi.h"
}

class Arm
{
private:
	Kinematics k;
	int baseJoint;			// Gestore base joint
    int shoulderJoint;		// Gestore shoulder joint
    int elbowJoint;			// Gestore elbow joint
	float teta1, teta2, teta3;
	float delta;
	int clientID;
	int error;
	float speed;
	bool onPath;
	//boost::thread thrd;
    
public:
	Arm(int clientID, int baseJoint, int shoulderJoint, int elbowJoint);
	~Arm(void);
	void goToRestPosition();
	void goToPoint(Point point);
	void goToPath(Point path[]);
	void followPath(Point path[]);
	void move(Joint::joint j, float degree);
	void stop();
	
};